package com.wyh.mapper.feemanagementmapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.wyh.domain.dto.feemanagementdto.PaymentDTO;
import com.wyh.domain.dto.feemanagementdto.PaymentRecordsCustomerDto;
import com.wyh.domain.dto.feemanagementdto.PaymentRecordsDtos;
import com.wyh.domain.po.feemanagementpo.PaymentRecords;
import com.wyh.domain.po.feemanagementpo.PaymentRecordsInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;


public interface PaymentRecordsMapper extends BaseMapper<PaymentRecords> {

    PaymentRecords findById(Long id);

    int insert(PaymentRecords paymentRecords);

    int update(PaymentRecords paymentRecords);

    int deleteById(Long id);

    List<PaymentRecords> selectPage(@Param("params") Map<String, Object> params);

    Integer selectTotal(@Param("params") Map<String, Object> params);

    IPage<PaymentRecords> getAllPayMentRecords(IPage<PaymentRecords> page, @Param("p") PaymentRecordsDtos paymentRecordsDtos);
    int updateRefundamount(Long id);
    IPage<PaymentRecords> getAllClaimPayMentRecords(IPage<PaymentRecords> page,@Param("p") PaymentRecordsDtos paymentRecordsDtos,@Param("account") String account);

    int revokePaymentRecordsClaim(Integer id);

    IPage<PaymentRecordsInfo> getAllPaymenRecordsByCustomerId(IPage<PaymentRecords> page, @Param("p") PaymentRecordsCustomerDto paymentRecordsCustomerDto,@Param("account") String account);

    PaymentRecords findByBill(int billid);

    List<PaymentDTO> findBy(Long billid);

    PaymentRecords findByCollectionNumber(String collectionnumber);

}
